SEMGET
Section: System Calls (2)
Index
Return to Main Contents
BSD mandoc
NetBSD
NAME
semget
- get semaphore set
SYNOPSIS
Fd #include <sys/types.h>
Fd #include <sys/ipc.h>
Fd #include <sys/sem.h>
Ft int
Fn semget key_t key int nsems int semflg
DESCRIPTION
The
Fn semget
system call returns the semaphore identifier associated with
Fa key .
A new set containing
Fa nsems
semaphores is created if either
Fa key
is equal to IPC_PRIVATE, or
Fa key
does not have a semaphore set associated with it, and the IPC_CREAT bit is
set in
Fa msgflg.
If a new set of semaphores is created, the data structure associated with it
(the
semid_ds
structure, see
semctl(2))
is intialized as follows:
-
sem_perm.cuid
and
sem_perm.uid
are set to the effective uid of the calling process.
-
sem_perm.gid
and
sem_perm.cgid
are set to the effective gid of the calling process.
-
sem_perm.mode
is set to the lower 9 bits of
Fa msgflg .
-
sem_nsems
is set to the value of
Fa nsems
-
sem_ctime
is set to the current time
-
sem_otime
is set to 0
RETURN VALUES
Fn semget
returns a non-negative semaphore identifier if successful. Otherwise, -1
is returned and
errno
is set to reflect the error.
ERRORS
- Bq Er EACCESS
-
The caller has no permission to access a semaphore set already associated with
Fa key.
- Bq Er EEXIST
-
Both IPC_CREAT and IPC_EXCL are set in
Fa msgflg ,
and a semaphore set is already associated with
Fa key .
- Bq Er EINVAL
-
nsems
is less than 0 or greater than the system limit for the number in a semaphore
set.
A semaphore set associated with
Fa key
exists, but has fewer semaphores than the number specified in
Fa nsems .
- Bq Er ENOSPC
-
A new set of semaphores could not be created because the system limit
for the number of semaphores or the number of semaphore sets has been
reached.
- Bq Er ENOENT
-
IPC_CREAT was not set in
Fa msgflg
and no semaphore set associated with
Fa key
was found.
SEE ALSO
semop(2)
semctl(2)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUES
-
- ERRORS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 16:28:59 GMT, April 18, 2022